#include <iostream>
#include <string>
#include <omp.h>
#include "alignment.h"
#include "MbRandom.h"
#include "model.h"
#include "settings.h"

using namespace std;



int main (int argc, char *argv[]) {
//#pragma omp master
	/* get user settings, either from the command line
	   arguments or from a series of prompts */
	Settings mySettings(argc, argv);

	/* instantiate the random number class */
	MbRandom myRandom(1);
	
	/* read in the alignment */
	Alignment myAlignment( mySettings.getDataFileName() );
	myAlignment.compress();
	myAlignment.print();
//#pragma omp parallel	
	/* set up the phylogenetic model */
	Model myModel;
    makeModel(&myModel, &myAlignment, &myRandom, &mySettings);
	cout << "lnL = " << calculateLikelihood(&myModel) << endl;
    deleteModel(&myModel);
	
    return 0;
	
}
